﻿using DocumentFormat.OpenXml.Wordprocessing;
using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
using OfficeOpenXml.Table;
using System;
using System.Collections.Generic;
using System.Text;
using Volo.Abp.Application.Dtos;

namespace NP.BPMReportPlatform.StandardApprovalFlow.Dto
{
    [ExcelExporter(Name = "船舶特殊订单报表", TableStyle = TableStyles.Light10, AutoFitAllColumn = true)]
    public class CBTSDDOutput
    {
        /// <summary>
        /// 流程实例编号
        /// </summary>
        [ExporterHeader(DisplayName = "单据号")]
        public string InstanceNumber { get; set; }

        /// <summary>
        /// 申请日期
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public DateTime? AddTime { get; set; }
        [ExporterHeader(DisplayName = "申请日期")]
        public string AddTimeString { get; set; }

        /// <summary>
        /// 申请人
        /// </summary>
        [ExporterHeader(DisplayName = "申请人")]
        public string AddUserName { get; set; }

        /// <summary>
        /// 客户编码
        /// </summary>
        [ExporterHeader(DisplayName = "客户编码")]
        public string CustomerCode { get; set; }

        /// <summary>
        /// 订单类型
        /// </summary>
        [ExporterHeader(DisplayName = "订单类型")]
        public string OrderType { get; set; }

        /// <summary>
        /// 标题
        /// </summary>
        [ExporterHeader(DisplayName = "标题")]
        public string Title { get; set; }

        /// <summary>
        /// 正文
        /// </summary>
        [ExporterHeader(DisplayName = "正文")]
        public string Content { get; set; }

        /// <summary>
        /// 单据详情链接
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public string Url { get; set; }


        /// <summary>
        /// 单据状态
        /// </summary>        
        [ExporterHeader(DisplayName = "单据状态")]
        public string OrderStatus { get; set; }
    }

    public class CBTSDDInput : PagedAndSortedRequestDto
    {
        /// <summary>
        /// 标题
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// 流程实例编号
        /// </summary>
        public string InstanceNumber { get; set; }

        /// <summary>
        /// 创建者
        /// </summary>
        public string AddUserName { get; set; }

        /// <summary>
        /// 单据状态
        /// </summary>
        public List<string> OrderStatus { get; set; }

        /// <summary>
        /// 制单日期（开始节点）
        /// </summary>
        public DateTime? StartCreationTime { get; set; }

        /// <summary>
        /// 制单日期（结束节点）
        /// </summary>
        public DateTime? EndCreationTime { get; set; }

        /// <summary>
        /// 是否查询所有数据
        /// </summary>
        public bool IsQueryAll { get; set; }

        /// <summary>
        /// 客户编码
        /// </summary>
        public string CustomerCode { get; set; }

        /// <summary>
        /// 订单类型
        /// </summary>
        public string OrderType { get; set; }
    }
}
